package com.lagou.config;

import org.springframework.web.WebApplicationInitializer;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
import org.springframework.web.servlet.DispatcherServlet;

import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRegistration;

/**
 * 基于sevlet3.0实现web.xml
 * Created by Administrator on 2021/3/10.
 */
public class MyWebApplicationInitializer implements WebApplicationInitializer {
   // @Override
    public void onStartup(ServletContext servletContext) throws ServletException {
        // Load Spring web application configuration
        //通过注解的方式初始化Spring的上下文
        AnnotationConfigWebApplicationContext ac = new AnnotationConfigWebApplicationContext();
        //注册spring的配置类（替代传统项目中xml的configuration）
        ac.register( AppConfig.class );
        ac.refresh();

        // Create and register the DispatcherServlet
        //基于java代码的方式初始化DispatcherServlet
        DispatcherServlet servlet = new DispatcherServlet( ac );
        ServletRegistration.Dynamic registration = servletContext.addServlet( "app", servlet );
        registration.setLoadOnStartup( 1 );
        registration.addMapping( "/app/*" );
    }
}
